import { defineStore } from 'pinia'
import { ref } from 'vue'

// 创建 store
export const useHistoryChatsStore = defineStore('historyChatsStore', () => {

    // 选中的对话历史消息列表，默认为空
    const historyChats = ref([])
    // 删除历史列表消息
    function deleteChatHistoryMessage(uuid) {
        // 从 historyChats 数组中删除对应的对话
        const index = historyChats.value.findIndex(chat => chat.uuid === uuid);
        if (index !== -1) {
            historyChats.value.splice(index, 1);
        }
    }

    // 添加更多历史消息
    function addMoreChatHistoryMessage(message) {
        // 将新数据添加到历史对话列表末尾
        historyChats.value = [...historyChats.value, ...message]
    }

    // 设置历史消息列表
    function setChatHistoryMessage(messages) {
        historyChats.value = messages
    }

    // 添加历史消息
    function addChatHistoryMessage(message) {
        // 将新数据添加到历史对话列表头部
        historyChats.value = [message, ...historyChats.value]
    }

    // 对外暴露相关变量与方法
    return { historyChats, deleteChatHistoryMessage, addMoreChatHistoryMessage, setChatHistoryMessage, addChatHistoryMessage }
})